package com.alibaba.citrus.cr.unified.inventory.api;

import com.alibaba.citrus.cr.unified.inventory.dto.api.request.AllocateApplyOrderCodeQueryRequest;
import com.alibaba.citrus.cr.unified.inventory.dto.api.request.AllocateApplyOrderQueryRequest;
import com.alibaba.citrus.cr.unified.inventory.dto.api.response.AllocateApplyOrderDetailDTO;
import com.alibaba.citrus.cr.unified.inventory.dto.api.response.AllocateApplyOrderListDTO;
import com.alibaba.citrus.cr.unified.inventory.sdo.AllocateApplyOrderSDO;
import com.alibaba.cz.base.tool.page.PageResult;
import com.alibaba.lattice2.epoch.meshflow.model.annotation.MeshFlowService;
import com.alibaba.cz.base.tool.result.Result;

import java.util.List;

/**
 * @author heyu
 * @description 调拨预报单查询
 */
@MeshFlowService(apps = {"bc_order"})
public interface AllocateApplyOrderReadService {
    /**
     * 调拨预报单列表
     * @param allocateApplyOrderQueryRequest
     * @return
     */
    Result<PageResult<List<AllocateApplyOrderListDTO>>> queryAllocateApplyOrderList(AllocateApplyOrderQueryRequest allocateApplyOrderQueryRequest);

    /**
     * 根据code查询调拨预报单
     * @param code
     * @return
     */
     Result<AllocateApplyOrderDetailDTO> queryAllocateApplyOrderByCode(String code);


    /**
     * 用code简单查询预调拨单
     * @return
     */
    Result<AllocateApplyOrderSDO> query(AllocateApplyOrderCodeQueryRequest request);



}
